/* 需求：是可以使用 Promise + fs 进行文件的读取操作 */

const fs = require('fs');


const p1 = new Promise((resolve, reject) => {

    // 文件的读取是异步的，那么我们可以把异步操作放在这里
    fs.readFile('./data/db.txt', 'utf8', (err, data) => {
        if (err) {
            // console.log(err);
            // 例如读取的文件不存在，则会失败
            reject(err);
        } else {
            // console.log('文件的内容：', data);
            resolve(data)
        }
    });

});

p1.finally(() => {
    console.log('无论成功失败都执行！');
})
// console.log(p1, typeof p1);

/* 1. Promise 的返回值是一个对象，该对象存在一个方法 
    1.1 then 方法 可以接受两个函数作为参数，第一个参数是成功的回调函数，第二个参数是失败的回调函数
        then 的参数不是必须的，但是如果不传递，我们则无法获取到异步操作后的成功的数据或者是失败的原因
    1.2 catch 方法 是用来做失败的处理
    1.3 finally 方法

*/